Component org.nuxeo.ecm.platform.filemanager.service.FileManagerService
In bundle org.nuxeo.ecm.platform.filemanager.core
Documentation
The FileManager service provide a generic service for building Documents form a simple File.
Implementation
Class:
org.nuxeo.ecm.platform.filemanager.service.FileManagerService
Services
Extension Points
XML Source
<?xml version="1.0"?>
<component
name="org.nuxeo.ecm.platform.filemanager.service.FileManagerService">
<implementation
class="org.nuxeo.ecm.platform.filemanager.service.FileManagerService" />
<service>
<provide interface="org.nuxeo.ecm.platform.filemanager.api.FileManager" />
</service>
<documentation>
The FileManager service provide a generic service for building Documents
form a simple File.
</documentation>
<extension-point name="plugins">
<documentation>
The plugin system for the FileManager give the possibility to register
extension that will be responsible for creating a document from a given
mime-type. The plugin should implement the
org.nuxeo.ecm.platform.filemanager.interfaces.FileImporter interface.
The registration of a file importer can be done like this:
<code>
<plugin name="myCustomFileImporter"
class="com.example.MyFileImporterImplementationClass" enabled="true"
order="30">
<filter>text/plain</filter>
<doctype>MyCustomDoctype</doctype>
</plugin>
</code>
The filter tag is used to know what mime-types can be used with the
plugin. The order tag is used to determine order between plugins.
The doctype tag is optional. When added, an instance of the document type specified in it will be created. Otherwise, one of the default Nuxeo document types will be used.
A plugin can override an existing plugin by reusing the same name, in this
case the previous filters will be ignored. A plugin can be completely
disabled by setting enabled="false".
Similarly, to override the default behavior to import folders, custom
folder importers are registered as follows:
<code>
<folderImporter name="myCustomFolderImporter"
class="com.example.MyFolderImporterImplementationClass" />
</code>
The latest registered folder importer will be used in place of any other
previously registered folder importer.
Finally is it also possible to register CreationContainerListProvider
implementations for a given set of document types so as to provide the
user with a list of container suitable for new document creation.
This feature is especially useful for the creation of new document from an
office productivity application through the LiveEdit plugins.
The docType is optional: no docType declaration means all types are
handled by the extension.
<code>
<creationContainerListProvider name="myCustomContainerListProvider"
class="com.example.MyCustomContainerListImplementationClass">
<docType>File</docType>
<docType>Note</docType>
</creationContainerListProvider>
</code>
</documentation>
<object
class="org.nuxeo.ecm.platform.filemanager.service.extension.FileImporterDescriptor" />
<object
class="org.nuxeo.ecm.platform.filemanager.service.extension.FolderImporterDescriptor" />
<object
class="org.nuxeo.ecm.platform.filemanager.service.extension.CreationContainerListProviderDescriptor" />
</extension-point>
<extension-point name="unicity">
<documentation>
The unicity extension point adds a digest to the given field using the
given algorithm. If the same file is already on the server, a new Message
is send to JMS bus with DocumentLocation if the existing files.
<code>
<unicitySettings>
<enabled>true</enabled>
<algo>sha-256</algo>
<field>file:content</field>
<computeDigest>true</computeDigest>
</unicitySettings>
</code>
</documentation>
<object
class="org.nuxeo.ecm.platform.filemanager.service.extension.UnicityExtension" />
</extension-point>
<extension-point name="versioning">
<documentation>
CAUTION deprecated extension point since 9.1, versioning has been removed from file manager, if you want to
provide automatic versioning, contribute policy to versioning service.
@since 5.7
The versioning extension point defines the versioning option that will be
used when incrementing the document version at file import (DnD,
Import button)
The default value will be MINOR, to keep compatibility with previous
releases.
Possible values are NONE, MINOR OR MAJOR (see VersioningOption enumeration)
Other values will raise an IllegalArgumentException
<code>
<versioning>
<defaultVersioningOption>MAJOR</defaultVersioningOption>
</versioning>
</code>
</documentation>
<object
class="org.nuxeo.ecm.platform.filemanager.service.extension.VersioningDescriptor" />
</extension-point>
</component>